﻿using DXApplicationTangche.UC.项目成果管理.在制品管理.service;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DXApplicationTangche.UC.项目成果管理.在制品管理.model
{
    public class 在制品管理Model
    {
        private List<DTO半成品量尺呈现> list半成品量尺呈现 = new List<DTO半成品量尺呈现>();
        private List<DTO半成品设计点呈现> list半成品设计点呈现 = new List<DTO半成品设计点呈现>();
        /// <summary>
        /// 转换页面显示
        /// </summary>
        /// <param name="list半成品量尺"></param>
        /// <returns></returns>
        public List<DTO半成品量尺呈现> build半成品量尺显示(List<InspectSizeDTO> list半成品量尺)
        {
            this.list半成品量尺呈现.Clear();
            foreach (InspectSizeDTO dTO in list半成品量尺)
            {
                this.list半成品量尺呈现.Add(new DTO半成品量尺呈现(dTO));
            }
            this.list半成品量尺呈现.Sort(new DTO半成品量尺呈现IndexComparer());
            return this.list半成品量尺呈现;
        }

        public List<InspectSizeDTO> build半成品量尺通过(List<InspectSizeDTO> list半成品量尺,String id)
        {
            foreach (InspectSizeDTO dTO in list半成品量尺)
            {
                if (id.Equals(dTO.id))
                {
                    if (dTO.ifPass)
                    {
                        dTO.ifPass = false;
                    }
                    else
                    {
                        dTO.ifPass = true;
                    }
                }
            }
            return list半成品量尺;
        }
        /// <summary>
        /// 半成品量尺根据index排序
        /// </summary>
        public class DTO半成品量尺呈现IndexComparer : IComparer<DTO半成品量尺呈现>
        {
            public int Compare(DTO半成品量尺呈现 p1, DTO半成品量尺呈现 p2)
            {
                return p1.index.CompareTo(p2.index);
            }
        }
        public List<DTO半成品设计点呈现> build半成品设计点显示(List<DesignItemCheckDTO> list半成品设计点)
        {
            this.list半成品设计点呈现.Clear();
            foreach (DesignItemCheckDTO dTO in list半成品设计点)
            {
                this.list半成品设计点呈现.Add(new DTO半成品设计点呈现(dTO));
            }
            return this.list半成品设计点呈现;
        }
        public List<DesignItemCheckDTO> build半成品设计点通过(List<DesignItemCheckDTO> list半成品设计点,string itemCd,String itemValue)
        {
            foreach (DesignItemCheckDTO dTO in list半成品设计点)
            {
                if (itemCd.Equals(dTO.itemCd) && itemValue.Equals(dTO.itemValue))
                {
                    if (dTO.ifPass)
                    {
                        dTO.ifPass = false;
                    }
                    else
                    {
                        dTO.ifPass = true;
                    }
                }
            }
            return list半成品设计点;
        }
        public DesignItemCheckDTO build取单行设计点(List<DesignItemCheckDTO> list半成品设计点, string itemCd, String itemValue)
        {
            foreach (DesignItemCheckDTO dTO in list半成品设计点)
            {
                if (itemCd.Equals(dTO.itemCd) && itemValue.Equals(dTO.itemValue))
                {
                    return dTO;
                }
            }
            return null;
        }
    }
}
